package tech.yingchuan.blogs.service;

import tech.yingchuan.blogs.dto.AclDto;
import tech.yingchuan.blogs.model.Acl;
import tech.yingchuan.blogs.param.AclParam;

import java.util.List;

public interface AclService {

    /**
     * 保存一条权限信息
     * @param aclParam
     */
    void saveAcl(AclParam aclParam);

    /**
     * 更新一条权限信息
     * @param aclParam
     */
    void updateAcl(AclParam aclParam);

    /**
     * 根据权限id删除一条数据
     * @param aclId
     */
    void removeIdAcl(String aclId);

    /**
     * 批量删除权限信息
     * @param aclIds
     */
    void removeBatchIdAcl(List<String> aclIds);

    /**
     * 根据权限id
     * 获取权限信息
     * @param aclId
     * @return
     */
    AclDto getAcl(String aclId);

    /**
     * 查询权限列表（分页）
     * @param aclParam
     * @return
     */
    List<Acl> listAcl(AclParam aclParam);

    /**
     * 上级菜单列表
     * @return
     */
    List<Acl> listAclParentTree();

}
